home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.006 / xemacs-1 / lib / xemacs-19.13 / lisp / energize / energize-annoprint.el < prev    next >
Encoding:
Text File  |  1994-09-20  |  50.8 KB  |  758 lines

  1. ;; INTERMEDIATE FORM:
  2. ;; (position font/nil glyph/nil newline/nil text)
  3. ;; font==nil - same font,      otherwise select named font
  4. ;; glyph==nil - no glyph,      otherwise display named glyph
  5. ;; newline==nil - no newline,  otherwise generate a new line
  6. ;; text is a lump of text to be displayed in the new font,
  7. ;; ** after ** any glyph or newline.
  8.  
  9. (defvar energize-annotate-print-ps-defns nil
  10.   "*File in which to find PS headers for annotated print.
  11. If nil, use the hardcoded default.")
  12.  
  13. (defvar energize-annotate-print-ps-whence 'energize-al-print-lpr-buffer
  14.   "*Function to process the buffer once generated.
  15. Returns boolean whether buffer should be deleted")
  16.  
  17. (defun energize-annotate-print-elisp ()
  18.   "Generate an ELISP data structure which corresponds to the
  19. text & extents from a buffer."
  20.   (interactive)
  21.   (save-excursion
  22.   (let* ((buf (current-buffer))
  23.      (ex buf)
  24.      (ex-list (list (list 'default (point-min) (point-max) nil)))
  25.      (ex-ends (list (point-max)))
  26.      evs)
  27.     (while (setq ex (next-extent ex))
  28.       (let ((s (prin1-to-string ex)) q)
  29.     (setq q
  30.            (let* ((bg (extent-property ex 'begin-glyph))
  31.               (eg (extent-property ex 'end-glyph))
  32.               (tg (or bg eg))
  33.               (g (if tg (file-name-nondirectory (pixmap-file-name tg)))))
  34.          (if bg (list 'begin-glyph g)
  35.            (if eg (list 'end-glyph g)
  36.              nil)))
  37.            )
  38.     (let ((sp (extent-start-position ex))
  39.           (ep (extent-end-position ex)))
  40.       (setq q (list (extent-face ex) sp ep q))
  41.       (if (> ep sp)
  42.           (progn
  43.           (setq ex-list (cons q ex-list))
  44.           (setq ex-ends (cons (extent-end-position ex) ex-ends)))))))
  45.     ;; Make sure these are sorted.
  46.     (let ((exlt '(lambda (x y)
  47.            (let ((sx (nth 1 x))
  48.              (sy (nth 1 y)))
  49.              (if (eq sx sy)
  50.              (> (nth 2 x) (nth 2 y))
  51.                (< (nth 1 x) (nth 1 y)))))))
  52.       (setq ex-list (sort ex-list exlt)))
  53.     (setq ex-ends (sort ex-ends '<))
  54.  
  55.     (let ((exs ex-list)
  56.       (exe ex-ends)
  57.       ev stk)
  58.       (while (or exs exe)
  59.     (let ((es (car exs))
  60.           (ee (car exe))
  61.           gf)
  62.       (if (or (null ee) (and es (< (nth 1 es) ee)))
  63.           (progn ;; process a new starting
  64.         (let* ((gf (nth 3 es))
  65.                (g (if (eq (car gf) 'begin-glyph) (nth 1 gf) nil)))
  66.           (setq ev (list (nth 1 es) (car es) g nil nil)))
  67.         ;; test that es is worthwhile before stacking it
  68.         (if (null (car es))
  69.             (if (null (nth 3 es))
  70.             (setq es nil)
  71.               (if stk ;; if it has a glyph, copy lower stack entry
  72.               (setcar es (car (car stk))))))
  73.         (if es
  74.             (setq stk (cons es stk)))
  75.         (setq exs (cdr exs)))
  76.         ;; ending
  77.         (let ((stf t)
  78.           (done nil)
  79.           (p stk)
  80.           (q stk))
  81.           (while (and p (not done))
  82.         (if (eq (nth 2 (car p)) ee)
  83.             (progn
  84.               (setq done t)
  85.               (setq gf (nth 3 (car p)))
  86.               (if stf
  87.               (setq stk (cdr p))
  88.             (setcdr q (cdr p))))
  89.           (setq stf nil))
  90.         (setq q p)
  91.         (setq p (cdr p))))
  92.         (let ((g (if (eq (car gf) 'end-glyph) (nth 1 gf) nil)))
  93.           (setq ev (list ee (car (car stk)) g nil nil)))
  94.         (setq exe (cdr exe))))
  95.     (setq evs (cons ev evs)))
  96.       (setq evs (nreverse evs)))
  97. ;; now process EOLs
  98.     (goto-char (point-min))
  99.     (let (eols)
  100.       (while (search-forward "\n" nil 't)
  101.     (setq eols (cons (list (1- (point)) nil nil t nil) eols)))
  102.       (setq eols (nreverse eols))
  103.       (let (ev1)
  104.     (while (or evs eols)
  105.       (if (or (null evs) (and eols (< (car (car eols)) (car (car evs)))))
  106.           (progn
  107.         (setq ev1 (cons (car eols) ev1))
  108.         (setq eols (cdr eols)))
  109.         (setq ev1 (cons (car evs) ev1))
  110.         (setq evs (cdr evs))))
  111.     (setq evs (nreverse ev1))))
  112. ;; finally collect up text segments
  113.     (let ((es evs))
  114.       (while es
  115.     (let ((e (car es))
  116.           (f 0)
  117.           s ss p (r 0) q fr to)
  118.       (if (nth 3 e)
  119.           (setq f 1))
  120.       (setq s (buffer-substring (+ (car e) f) (car (car (cdr es)))))
  121.       (while (setq p (string-match "\t" s r))
  122.         (goto-char (+ (car e) f p))
  123.         (setq fr (current-column))
  124.         (forward-char 1)
  125.         (setq to (current-column))
  126.         (setq ss (make-list (- to fr) " "))
  127.         (setq q (concat q (substring s r p) (mapconcat 'identity ss "")))
  128.         (setq r (1+ p)))
  129.       (if (not (eq r 0))
  130.           (setq s (concat q (substring s r))))
  131.       (let ((te e) (ti 4))
  132.         (while (> ti 0)
  133.           (setq te (cdr te))
  134.           (setq ti (1- ti)))
  135.         (setcar te s)))
  136.     (if (null (cdr (cdr es))) (setcdr es nil))
  137.     (setq es (cdr es))))
  138.     evs
  139. )))
  140.  
  141. (defun energize-annotate-print-ps ()
  142.   "Print buffer taking full note of extents, pixmaps etc."
  143.   (interactive)
  144.   (let ((evs (energize-annotate-print-elisp))
  145.     s tx
  146.     (buf (get-buffer-create "*anno-ps-print*"))
  147.     (def-ps-defns
  148. "%!PS-Adobe-1.0
  149. %%BoundingBox: 0 0 792 612
  150. %%Pages: 1
  151. %%DocumentFonts: Courier
  152. %%+ Times-Bold
  153. %%+ Helvetica-Oblique
  154. %%+ Courier-BoldOblique
  155. %%+ Helvetica
  156. %%+ Courier-Bold
  157. %%+ Courier-Oblique
  158. %%EndComments
  159. 100 dict begin
  160. /Dsize 170 def
  161. /colors Dsize dict def
  162. /facecat Dsize dict def
  163. /pixcat Dsize dict def
  164. /newpageflag false def
  165.  
  166. colors begin
  167.   /aquamarine4   [  69 139 116 ] def
  168.   /black         [   0   0   0 ] def
  169.   /blue3         [   0   0 205 ] def
  170.   /cadetblue4    [  83 134 139 ] def
  171.   /darkseagreen2 [ 180 238 180 ] def
  172.   /gray          [ 190 190 190 ] def
  173.   /gray90        [ 229 229 229 ] def
  174.   /green4        [   0 139   0 ] def
  175.   /lightyellow4  [ 139 139 122 ] def
  176.   /hotpink1      [ 255 110 180 ] def
  177.   /maroon3       [ 205  41 144 ] def
  178.   /paleturquoise [ 175 238 238 ] def
  179.   /plum3         [ 205 150 205 ] def
  180.   /red3          [ 205   0   0 ] def
  181.   /c6920ac       [ 102  32 172 ] def
  182. end
  183.  
  184. facecat begin % /name font size /textcol /backcol uline
  185.   /default [
  186.     /Courier findfont 10 scalefont
  187.     12
  188.     /black
  189.     /none
  190.     false
  191.   ] def
  192.   /modeline [
  193.     /Courier findfont 10 scalefont
  194.     12
  195.     /none
  196.     /black
  197.     false
  198.   ] def
  199.   /highlight [
  200.     /Courier findfont 10 scalefont
  201.     12
  202.     /black
  203.     /darkseagreen2
  204.     false
  205.   ] def
  206.   /left-margin [
  207.     /Courier findfont 10 scalefont
  208.     12
  209.     /black
  210.     /none
  211.     false
  212.   ] def
  213.   /right-margin [
  214.     /Courier findfont 10 scalefont
  215.     12
  216.     /black
  217.     /none
  218.     false
  219.   ] def
  220.   /bold [
  221.     /Courier-Bold findfont 10 scalefont
  222.     12
  223.     /black
  224.     /none
  225.     false
  226.   ] def
  227.   /italic [
  228.     /Courier-Oblique findfont 10 scalefont
  229.     12
  230.     /black
  231.     /none
  232.     false
  233.   ] def
  234.   /bold-italic [
  235.     /Courier-BoldOblique findfont 10 scalefont
  236.     12
  237.     /black
  238.     /none
  239.     false
  240.   ] def
  241.   /isearch [
  242.     /Courier findfont 10 scalefont
  243.     12
  244.     /black
  245.     /paleturquoise
  246.     false
  247.   ] def
  248.   /primary-selection [
  249.     /Courier findfont 10 scalefont
  250.     12
  251.     /black
  252.     /gray
  253.     false
  254.   ] def
  255.   /secondary-selection [
  256.     /Courier findfont 10 scalefont
  257.     12
  258.     /black
  259.     /paleturquoise
  260.     false
  261.   ] def
  262.   /attributeSmall [
  263.     /Courier findfont 8 scalefont
  264.     10
  265.     /black
  266.     /none
  267.     false
  268.   ] def
  269.   /attributeGlyph [
  270.     /Courier findfont 10 scalefont
  271.     12
  272.     /black
  273.     /none
  274.     false
  275.   ] def
  276.   /attributeSectionHeader [
  277.     /Courier findfont 10 scalefont
  278.     12
  279.     /cadetblue4
  280.     /none
  281.     false
  282.   ] def
  283.   /attributeToplevelFormGlyph [
  284.     /Courier findfont 10 scalefont
  285.     12
  286.     /black
  287.     /none
  288.     false
  289.   ] def
  290.   /attributeModifiedToplevelFormGlyph [
  291.     /Courier findfont 10 scalefont
  292.     12
  293.     /black
  294.     /none
  295.     false
  296.   ] def
  297.   /attributeBrowserHeader [
  298.     /Courier findfont 10 scalefont
  299.     12
  300.     /red3
  301.     /none
  302.     false
  303.   ] def
  304.   /attributeWriteProtected [
  305.     /Courier findfont 10 scalefont
  306.     12
  307.     /lightyellow4
  308.     /none
  309.     false
  310.   ] def
  311.   /attributeModifiedText [
  312.     /Courier findfont 10 scalefont
  313.     12
  314.     /black
  315.     /gray90
  316.     false
  317.   ] def
  318.   /attribute50 [
  319.     /Courier findfont 10 scalefont
  320.     12
  321.     /plum3
  322.     /none
  323.     false
  324.   ] def
  325.   /attribute52 [
  326.     /Courier findfont 10 scalefont
  327.     12
  328.     /aquamarine4
  329.     /none
  330.     false
  331.   ] def
  332.   /font-lock-comment-face [
  333.     /Courier findfont 10 scalefont
  334.     12
  335.     /#6920ac
  336.     /none
  337.     false
  338.   ] def
  339.   /font-lock-doc-string-face [
  340.     /Courier findfont 10 scalefont
  341.     12
  342.     /green4
  343.     /none
  344.     false
  345.   ] def
  346.   /font-lock-string-face [
  347.     /Courier findfont 10 scalefont
  348.     12
  349.     /green4
  350.     /none
  351.     false
  352.   ] def
  353.   /font-lock-function-name-face [
  354.     /Courier findfont 10 scalefont
  355.     12
  356.     /red3
  357.     /none
  358.     false
  359.   ] def
  360.   /font-lock-keyword-face [
  361.     /Courier findfont 10 scalefont
  362.     12
  363.     /blue3
  364.     /none
  365.     false
  366.   ] def
  367.   /font-lock-type-face [
  368.     /Courier findfont 10 scalefont
  369.     12
  370.     /blue3
  371.     /none
  372.     false
  373.   ] def
  374. end
  375.  
  376. pixcat begin
  377.   /archive_tool [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\300\\000\\000\\377\\300\\174\\000\\377\\300\\122\\000\\377\\300\\111\\000\\377\\300\\145\\000\\377\\300\\123\\000\\377\\300\\111\\000\\377\\300\\105\\000\\377\\300\\177\\000\\377\\300\\000\\000\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  378.   /arrow [14 14 (\\000\\034\\000\\034\\000\\014\\000\\014\\000\\004\\000\\004\\000\\000\\000\\000\\000\\004\\000\\004\\000\\014\\000\\014\\000\\034\\000\\034)] def
  379.   /arrow-hollow [14 14 (\\000\\034\\000\\034\\077\\214\\077\\214\\077\\304\\077\\304\\077\\340\\077\\340\\077\\304\\077\\304\\077\\214\\077\\214\\000\\034\\000\\034)] def
  380.   /blip [3 3 (\\377\\377\\377)] def
  381.   /btool [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\300\\000\\000\\377\\300\\034\\140\\377\\300\\077\\340\\377\\301\\377\\340\\377\\301\\377\\340\\377\\303\\077\\340\\377\\302\\034\\140\\377\\302\\034\\000\\377\\300\\034\\000\\377\\300\\034\\000\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  382.   /build [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\300\\040\\000\\377\\300\\370\\000\\377\\300\\330\\000\\377\\301\\274\\200\\377\\300\\333\\340\\377\\300\\373\\140\\377\\300\\046\\360\\377\\300\\003\\140\\377\\300\\003\\340\\377\\300\\000\\200\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  383.   /collect_tool [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\300\\000\\000\\377\\300\\174\\000\\377\\300\\102\\000\\377\\300\\101\\000\\377\\300\\177\\000\\377\\300\\101\\000\\377\\300\\177\\000\\377\\300\\101\\000\\377\\300\\177\\000\\377\\300\\000\\000\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  384.   /collection [19 14 (\\377\\377\\377\\374\\017\\377\\374\\007\\377\\374\\003\\377\\374\\001\\377\\375\\376\\377\\375\\376\\377\\374\\000\\377\\374\\000\\377\\375\\376\\377\\375\\376\\377\\374\\000\\377\\374\\000\\377\\377\\377\\377)] def
  385.   /command_tool [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\300\\000\\000\\377\\301\\302\\000\\377\\303\\146\\000\\377\\302\\044\\000\\377\\303\\154\\340\\377\\301\\311\\260\\377\\300\\031\\020\\377\\300\\021\\260\\377\\300\\060\\340\\377\\300\\000\\000\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  386.   /compile1 [26 14 (\\377\\377\\377\\377\\300\\000\\000\\377\\337\\377\\376\\377\\337\\377\\376\\377\\334\\341\\306\\377\\334\\344\\222\\377\\330\\141\\236\\377\\330\\144\\236\\377\\323\\044\\222\\377\\323\\041\\306\\377\\337\\377\\376\\377\\337\\377\\376\\377\\300\\000\\000\\377\\377\\377\\377\\377)] def
  387.   /compile2 [26 14 (\\377\\377\\377\\377\\200\\000\\000\\177\\201\\377\\377\\177\\201\\377\\377\\177\\230\\341\\307\\177\\232\\344\\223\\177\\232\\141\\237\\177\\232\\144\\237\\177\\233\\044\\223\\177\\231\\041\\307\\177\\201\\377\\377\\177\\201\\377\\377\\177\\200\\000\\000\\177\\377\\377\\377\\377)] def
  388.   /compile3 [26 14 (\\377\\377\\377\\377\\200\\000\\000\\177\\200\\007\\377\\177\\200\\007\\377\\177\\231\\311\\307\\177\\233\\154\\223\\177\\233\\151\\237\\177\\233\\154\\237\\177\\233\\154\\223\\177\\231\\311\\307\\177\\200\\007\\377\\177\\200\\007\\377\\177\\200\\000\\000\\177\\377\\377\\377\\377)] def
  389.   /compile4 [26 14 (\\377\\377\\377\\377\\200\\000\\000\\177\\200\\000\\037\\177\\200\\000\\037\\177\\231\\314\\347\\177\\233\\155\\263\\177\\233\\155\\277\\177\\233\\155\\277\\177\\233\\155\\263\\177\\231\\314\\347\\177\\200\\000\\037\\177\\200\\000\\037\\177\\200\\000\\000\\177\\377\\377\\377\\377)] def
  390.   /compile5 [26 14 (\\377\\377\\377\\377\\200\\000\\000\\177\\200\\000\\000\\177\\200\\000\\000\\177\\231\\314\\346\\177\\233\\155\\266\\177\\233\\155\\266\\177\\233\\155\\266\\177\\233\\155\\266\\177\\231\\314\\346\\177\\200\\000\\000\\177\\200\\000\\000\\177\\200\\000\\000\\177\\377\\377\\377\\377)] def
  391.   /currenterror [19 14 (\\300\\001\\377\\302\\021\\377\\301\\040\\377\\300\\300\\377\\301\\340\\177\\315\\354\\177\\327\\372\\077\\303\\360\\077\\317\\374\\177\\323\\362\\177\\307\\370\\377\\311\\344\\377\\310\\305\\377\\300\\001\\377)] def
  392.   /currentnote [19 14 (\\377\\377\\377\\360\\003\\377\\360\\001\\377\\363\\201\\377\\363\\340\\377\\363\\370\\377\\363\\376\\177\\363\\376\\177\\363\\370\\377\\363\\340\\377\\363\\201\\377\\360\\001\\377\\360\\003\\377\\377\\377\\377)] def
  393.   /currentwarning [19 14 (\\377\\377\\377\\340\\003\\377\\340\\301\\377\\340\\301\\377\\341\\340\\377\\341\\340\\377\\343\\360\\177\\343\\360\\177\\347\\370\\377\\347\\370\\377\\357\\375\\377\\340\\001\\377\\340\\003\\377\\377\\377\\377)] def
  394.   /dbox-error [30 30 (\\377\\377\\377\\377\\377\\340\\077\\377\\377\\000\\007\\377\\376\\037\\303\\377\\370\\177\\360\\377\\361\\377\\374\\177\\360\\377\\376\\177\\344\\177\\377\\077\\306\\077\\377\\037\\317\\037\\377\\237\\317\\217\\377\\237\\237\\307\\377\\317\\237\\343\\377\\317\\237\\361\\377\\317\\237\\370\\377\\317\\237\\374\\177\\317\\237\\376\\077\\317\\237\\377\\037\\317\\317\\377\\217\\237\\317\\377\\307\\237\\307\\377\\343\\037\\347\\377\\361\\077\\363\\377\\370\\177\\361\\377\\370\\177\\370\\177\\360\\377\\376\\037\\303\\377\\377\\000\\007\\377\\377\\340\\077\\377\\377\\377\\377\\377\\377\\377\\377\\377)] def
  395.   /dbox-info [30 30 (\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\177\\377\\377\\370\\077\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\370\\077\\377\\377\\374\\177\\377\\377\\377\\377\\377\\377\\200\\037\\377\\377\\200\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\200\\003\\377\\377\\200\\003\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377)] def
  396.   /dbox-question [30 30 (\\377\\340\\077\\377\\377\\000\\007\\377\\376\\000\\003\\377\\370\\017\\200\\377\\360\\037\\300\\177\\360\\077\\340\\177\\340\\070\\340\\077\\300\\070\\340\\037\\300\\070\\340\\037\\300\\070\\340\\037\\200\\070\\340\\017\\200\\001\\340\\017\\200\\003\\300\\017\\200\\007\\200\\017\\200\\007\\000\\017\\200\\007\\000\\017\\200\\007\\000\\017\\300\\007\\000\\037\\300\\007\\000\\037\\300\\000\\000\\037\\340\\007\\000\\077\\360\\007\\000\\177\\360\\007\\000\\177\\370\\000\\000\\377\\376\\000\\003\\377\\377\\000\\007\\377\\377\\340\\077\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377)] def
  397.   /debugger [26 14 (\\377\\377\\377\\377\\340\\000\\003\\377\\300\\022\\017\\377\\300\\014\\074\\377\\300\\036\\360\\377\\300\\333\\300\\377\\301\\157\\040\\377\\300\\075\\000\\377\\300\\367\\300\\377\\303\\337\\040\\377\\317\\177\\200\\377\\374\\236\\100\\377\\360\\000\\001\\377\\377\\377\\377\\377)] def
  398.   /directories [24 14 (\\377\\377\\377\\377\\377\\377\\376\\037\\377\\374\\000\\077\\374\\000\\037\\377\\377\\037\\360\\000\\237\\360\\000\\237\\370\\000\\137\\370\\000\\137\\374\\000\\037\\374\\000\\037\\377\\377\\377\\377\\377\\377)] def
  399.   /directory [19 14 (\\377\\377\\377\\377\\377\\377\\370\\177\\377\\360\\001\\377\\360\\000\\377\\377\\370\\377\\300\\004\\377\\300\\004\\377\\340\\002\\377\\340\\002\\377\\360\\000\\377\\360\\000\\377\\377\\377\\377\\377\\377\\377)] def
  400.   /dirtycollection [19 14 (\\377\\377\\377\\374\\117\\377\\374\\227\\377\\374\\043\\377\\375\\001\\377\\375\\156\\377\\375\\272\\377\\374\\000\\377\\374\\204\\377\\375\\366\\377\\375\\336\\377\\374\\000\\377\\374\\000\\377\\377\\377\\377)] def
  401.   /dirtyfile [19 14 (\\377\\377\\377\\374\\037\\377\\374\\227\\377\\374\\023\\377\\375\\121\\377\\374\\037\\377\\374\\200\\377\\374\\022\\377\\374\\200\\377\\374\\104\\377\\375\\020\\377\\374\\104\\377\\374\\000\\377\\377\\377\\377)] def
  402.   /dirtylibrary [19 14 (\\377\\377\\377\\374\\017\\377\\375\\227\\377\\374\\303\\377\\375\\151\\377\\374\\262\\377\\375\\030\\377\\375\\214\\377\\374\\326\\377\\374\\142\\377\\375\\060\\377\\374\\132\\377\\375\\000\\377\\377\\377\\377)] def
  403.   /dirtyobjectfile [19 14 (\\377\\377\\377\\374\\017\\377\\375\\127\\377\\375\\203\\377\\375\\321\\377\\374\\344\\377\\374\\160\\377\\375\\072\\377\\374\\034\\377\\375\\116\\377\\374\\046\\377\\374\\212\\377\\374\\000\\377\\377\\377\\377)] def
  404.   /dirtyprogram [19 14 (\\377\\377\\377\\342\\017\\377\\376\\113\\377\\362\\011\\377\\376\\120\\377\\344\\037\\377\\374\\200\\377\\344\\022\\377\\375\\000\\377\\370\\211\\377\\372\\041\\377\\370\\211\\377\\370\\001\\377\\377\\377\\377)] def
  405.   /dirtyproject [19 14 (\\377\\377\\377\\377\\037\\377\\376\\357\\377\\300\\000\\177\\342\\102\\177\\310\\010\\177\\301\\041\\177\\310\\010\\177\\304\\104\\177\\321\\021\\177\\304\\104\\177\\302\\000\\177\\320\\042\\177\\377\\377\\377)] def
  406.   /disablebreakpoint [18 16 (\\377\\377\\377\\374\\017\\377\\370\\007\\377\\360\\303\\377\\340\\301\\377\\300\\300\\377\\300\\300\\377\\300\\300\\377\\300\\300\\377\\300\\300\\377\\300\\300\\377\\340\\301\\377\\360\\303\\377\\370\\007\\377\\374\\017\\377\\377\\377\\377)] def
  407.   /dot [16 16 (\\377\\377\\377\\377\\377\\377\\374\\077\\360\\017\\360\\017\\340\\007\\340\\007\\340\\007\\340\\007\\360\\017\\360\\017\\374\\077\\377\\377\\377\\377\\377\\377)] def
  408.   /dotsx4 [4 4 (\\177\\377\\377\\377)] def
  409.   /dotsx8 [8 8 (\\177\\377\\377\\377\\377\\377\\377\\377)] def
  410.   /editor [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\300\\000\\000\\377\\300\\000\\000\\377\\317\\374\\000\\377\\300\\000\\000\\377\\317\\000\\000\\377\\300\\000\\000\\377\\317\\340\\000\\377\\300\\000\\000\\377\\317\\377\\374\\377\\300\\000\\000\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  411.   /enablebreakpoint [18 16 (\\377\\377\\377\\374\\017\\377\\370\\007\\377\\360\\003\\377\\340\\001\\377\\300\\000\\377\\300\\000\\377\\317\\374\\377\\317\\374\\377\\300\\000\\377\\300\\000\\377\\340\\001\\377\\360\\003\\377\\370\\007\\377\\374\\017\\377\\377\\377\\377)] def
  412.   /error [19 14 (\\377\\377\\377\\376\\367\\377\\377\\157\\377\\377\\237\\377\\377\\017\\377\\371\\011\\377\\364\\002\\377\\376\\007\\377\\370\\001\\377\\366\\006\\377\\374\\003\\377\\373\\015\\377\\373\\235\\377\\377\\377\\377)] def
  413.   /fat_lines [8 8 (\\125\\335\\335\\335\\125\\335\\335\\335)] def
  414.   /file [19 14 (\\377\\377\\377\\374\\037\\377\\374\\027\\377\\374\\023\\377\\374\\021\\377\\374\\037\\377\\374\\000\\377\\374\\000\\377\\374\\000\\377\\374\\000\\377\\374\\000\\377\\374\\000\\377\\374\\000\\377\\377\\377\\377)] def
  415.   /frame [16 14 (\\377\\377\\307\\343\\300\\003\\310\\023\\347\\347\\344\\047\\344\\047\\344\\047\\344\\047\\347\\347\\310\\023\\300\\003\\307\\343\\377\\377)] def
  416.   /grapher [26 13 (\\377\\377\\377\\377\\340\\000\\001\\377\\300\\000\\000\\377\\301\\200\\060\\377\\300\\300\\140\\377\\300\\140\\300\\377\\301\\377\\360\\377\\300\\140\\300\\377\\300\\300\\140\\377\\301\\200\\060\\377\\300\\000\\000\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  417.   /gray [2 2 (\\177\\277)] def
  418.   /gray3 [16 16 (\\167\\167\\377\\377\\335\\335\\377\\377\\167\\167\\377\\377\\335\\335\\377\\377\\167\\167\\377\\377\\335\\335\\377\\377\\167\\167\\377\\377\\335\\335\\377\\377)] def
  419.   /infolinkfrom [22 14 (\\377\\377\\377\\300\\000\\017\\300\\000\\017\\303\\361\\217\\301\\361\\217\\300\\360\\017\\301\\363\\217\\303\\261\\217\\307\\021\\217\\316\\001\\217\\304\\003\\317\\300\\000\\017\\300\\000\\017\\377\\377\\377)] def
  420.   /infolinkto [22 14 (\\377\\377\\377\\300\\000\\017\\300\\000\\017\\304\\001\\217\\316\\001\\217\\307\\020\\017\\303\\263\\217\\301\\361\\217\\300\\361\\217\\301\\361\\217\\303\\363\\317\\300\\000\\017\\300\\000\\017\\377\\377\\377)] def
  421.   /infonote [16 14 (\\377\\377\\300\\003\\300\\003\\301\\203\\301\\203\\300\\003\\303\\203\\301\\203\\301\\203\\301\\203\\303\\303\\300\\003\\300\\003\\377\\377)] def
  422.   /languageelement [19 14 (\\377\\377\\377\\377\\217\\377\\376\\003\\377\\376\\003\\377\\374\\001\\377\\374\\001\\377\\374\\001\\377\\374\\001\\377\\374\\001\\377\\374\\001\\377\\376\\003\\377\\376\\003\\377\\377\\217\\377\\377\\377\\377)] def
  423.   /library [19 14 (\\377\\377\\377\\374\\017\\377\\375\\207\\377\\374\\303\\377\\374\\141\\377\\374\\060\\377\\375\\030\\377\\375\\214\\377\\374\\306\\377\\374\\142\\377\\374\\060\\377\\374\\030\\377\\374\\000\\377\\377\\377\\377)] def
  424.   /library2 [15 15 (\\377\\377\\300\\177\\300\\077\\300\\037\\300\\017\\300\\007\\337\\367\\300\\007\\300\\007\\300\\007\\337\\367\\300\\007\\300\\007\\300\\007\\377\\377)] def
  425.   /light_gray [10 12 (\\125\\177\\377\\377\\125\\177\\377\\377\\125\\177\\377\\377\\125\\177\\377\\377\\125\\177\\377\\377\\125\\177\\377\\377)] def
  426.   /link1 [26 14 (\\377\\377\\377\\377\\300\\000\\000\\377\\337\\377\\376\\377\\320\\036\\002\\377\\300\\014\\000\\377\\307\\314\\370\\377\\307\\314\\370\\377\\307\\314\\370\\377\\307\\314\\370\\377\\300\\014\\000\\377\\320\\036\\002\\377\\337\\377\\376\\377\\300\\000\\000\\377\\377\\377\\377\\377)] def
  427.   /link2 [26 14 (\\377\\377\\377\\377\\300\\000\\000\\377\\300\\377\\376\\377\\317\\036\\002\\377\\337\\014\\000\\377\\330\\314\\370\\377\\376\\314\\370\\377\\376\\314\\370\\377\\330\\314\\370\\377\\337\\014\\000\\377\\317\\036\\002\\377\\300\\377\\376\\377\\300\\000\\000\\377\\377\\377\\377\\377)] def
  428.   /link3 [26 14 (\\377\\377\\377\\377\\300\\000\\000\\377\\300\\007\\376\\377\\317\\346\\002\\377\\337\\364\\000\\377\\330\\064\\370\\377\\376\\174\\370\\377\\376\\174\\370\\377\\330\\064\\370\\377\\337\\364\\000\\377\\317\\346\\002\\377\\300\\007\\376\\377\\300\\000\\000\\377\\377\\377\\377\\377)] def
  429.   /link4 [26 14 (\\377\\377\\377\\377\\300\\000\\000\\377\\300\\000\\076\\377\\317\\341\\302\\377\\337\\363\\300\\377\\330\\063\\070\\377\\376\\177\\270\\377\\376\\177\\270\\377\\330\\063\\070\\377\\337\\363\\300\\377\\317\\341\\302\\377\\300\\000\\076\\377\\300\\000\\000\\377\\377\\377\\377\\377)] def
  430.   /link5 [26 14 (\\377\\377\\377\\377\\300\\000\\000\\377\\300\\000\\000\\377\\317\\341\\374\\377\\337\\363\\376\\377\\330\\063\\006\\377\\376\\377\\337\\377\\376\\377\\337\\377\\330\\063\\006\\377\\337\\363\\376\\377\\317\\341\\374\\377\\300\\000\\000\\377\\300\\000\\000\\377\\377\\377\\377\\377)] def
  431.   /linkfrom [16 14 (\\377\\377\\300\\003\\300\\003\\303\\363\\301\\363\\300\\363\\301\\363\\303\\263\\307\\023\\316\\003\\304\\003\\300\\003\\300\\003\\377\\377)] def
  432.   /linkto [16 14 (\\377\\377\\300\\003\\300\\003\\304\\003\\316\\003\\307\\023\\303\\263\\301\\363\\300\\363\\301\\363\\303\\363\\300\\003\\300\\003\\377\\377)] def
  433.   /makefile [19 14 (\\377\\377\\377\\370\\007\\377\\370\\003\\377\\370\\001\\377\\370\\040\\377\\370\\370\\377\\370\\370\\377\\371\\374\\377\\370\\370\\377\\370\\370\\377\\370\\040\\377\\370\\000\\377\\370\\000\\377\\377\\377\\377)] def
  434.   /memory [13 14 (\\377\\377\\370\\377\\340\\077\\340\\077\\300\\037\\337\\337\\300\\037\\300\\037\\337\\337\\300\\037\\340\\077\\340\\077\\370\\377\\377\\377)] def
  435.   /modifiedtoplevelform [16 14 (\\377\\377\\300\\007\\337\\367\\345\\017\\303\\247\\327\\307\\317\\357\\301\\007\\345\\127\\311\\007\\305\\117\\320\\227\\377\\377\\377\\377)] def
  436.   /monoarchive_tool [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\337\\377\\376\\377\\337\\301\\376\\377\\337\\326\\376\\377\\337\\333\\176\\377\\337\\315\\176\\377\\337\\326\\176\\377\\337\\333\\176\\377\\337\\335\\176\\377\\337\\300\\176\\377\\337\\377\\376\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  437.   /monoarrow [14 14 (\\000\\034\\125\\134\\052\\214\\125\\114\\052\\244\\125\\124\\052\\240\\125\\120\\052\\244\\125\\104\\052\\214\\125\\114\\052\\234\\000\\034)] def
  438.   /monoarrow-hollow [14 14 (\\000\\034\\177\\234\\177\\314\\177\\314\\177\\344\\177\\344\\177\\360\\177\\360\\177\\344\\177\\344\\177\\314\\177\\314\\177\\234\\000\\034)] def
  439.   /monoblip [3 3 (\\377\\377\\377)] def
  440.   /monobtool [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\337\\377\\376\\377\\337\\303\\376\\377\\337\\273\\036\\377\\336\\174\\336\\377\\334\\377\\336\\377\\334\\034\\336\\377\\335\\333\\036\\377\\337\\333\\376\\377\\337\\303\\376\\377\\337\\377\\376\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  441.   /monobuild [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\337\\377\\376\\377\\337\\277\\376\\377\\336\\117\\176\\377\\336\\354\\236\\377\\335\\365\\336\\377\\336\\353\\356\\377\\336\\115\\336\\377\\337\\274\\236\\377\\337\\377\\176\\377\\337\\377\\376\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  442.   /monocollect_tool [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\337\\377\\376\\377\\337\\301\\376\\377\\337\\336\\376\\377\\337\\337\\176\\377\\337\\300\\176\\377\\337\\337\\176\\377\\337\\300\\176\\377\\337\\337\\176\\377\\337\\300\\176\\377\\337\\377\\376\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  443.   /monocollection [19 14 (\\377\\377\\377\\374\\007\\377\\375\\373\\377\\375\\375\\377\\374\\000\\377\\374\\000\\377\\375\\376\\377\\375\\376\\377\\374\\000\\377\\374\\000\\377\\375\\376\\377\\375\\376\\377\\374\\000\\377\\377\\377\\377)] def
  444.   /monocommand_tool [26 14 (\\377\\377\\377\\300\\340\\000\\001\\300\\337\\377\\376\\300\\336\\075\\376\\300\\334\\231\\376\\300\\335\\333\\376\\300\\334\\223\\036\\300\\336\\066\\116\\300\\337\\346\\356\\300\\337\\356\\116\\300\\337\\317\\036\\300\\337\\377\\376\\300\\340\\000\\001\\300\\377\\377\\377\\300)] def
  445.   /monocompile1 [26 14 (\\377\\377\\377\\377\\300\\000\\000\\377\\337\\377\\376\\377\\337\\377\\376\\377\\334\\341\\306\\377\\334\\344\\222\\377\\330\\141\\236\\377\\330\\144\\236\\377\\323\\044\\222\\377\\323\\041\\306\\377\\337\\377\\376\\377\\337\\377\\376\\377\\300\\000\\000\\377\\377\\377\\377\\377)] def
  446.   /monocompile2 [26 14 (\\377\\377\\377\\377\\200\\000\\000\\177\\201\\377\\377\\177\\201\\377\\377\\177\\230\\341\\307\\177\\232\\344\\223\\177\\232\\141\\237\\177\\232\\144\\237\\177\\233\\044\\223\\177\\231\\041\\307\\177\\201\\377\\377\\177\\201\\377\\377\\177\\200\\000\\000\\177\\377\\377\\377\\377)] def
  447.   /monocompile3 [26 14 (\\377\\377\\377\\377\\200\\000\\000\\177\\200\\007\\377\\177\\200\\007\\377\\177\\231\\311\\307\\177\\233\\154\\223\\177\\233\\151\\237\\177\\233\\154\\237\\177\\233\\154\\223\\177\\231\\311\\307\\177\\200\\007\\377\\177\\200\\007\\377\\177\\200\\000\\000\\177\\377\\377\\377\\377)] def
  448.   /monocompile4 [26 14 (\\377\\377\\377\\377\\200\\000\\000\\177\\200\\000\\037\\177\\200\\000\\037\\177\\231\\314\\347\\177\\233\\155\\263\\177\\233\\155\\277\\177\\233\\155\\277\\177\\233\\155\\263\\177\\231\\314\\347\\177\\200\\000\\037\\177\\200\\000\\037\\177\\200\\000\\000\\177\\377\\377\\377\\377)] def
  449.   /monocompile5 [26 14 (\\377\\377\\377\\377\\200\\000\\000\\177\\200\\000\\000\\177\\200\\000\\000\\177\\231\\314\\346\\177\\233\\155\\266\\177\\233\\155\\266\\177\\233\\155\\266\\177\\233\\155\\266\\177\\231\\314\\346\\177\\200\\000\\000\\177\\200\\000\\000\\177\\200\\000\\000\\177\\377\\377\\377\\377)] def
  450.   /monocurrenterror [19 14 (\\300\\001\\377\\335\\355\\377\\336\\336\\377\\337\\076\\377\\336\\337\\177\\322\\323\\177\\311\\345\\277\\335\\357\\277\\323\\363\\177\\315\\355\\177\\331\\346\\377\\326\\332\\377\\327\\075\\377\\300\\001\\377)] def
  451.   /monocurrentnote [19 14 (\\377\\377\\377\\360\\003\\377\\367\\375\\377\\364\\175\\377\\365\\236\\377\\365\\346\\377\\365\\373\\177\\365\\373\\177\\365\\346\\377\\365\\236\\377\\364\\175\\377\\367\\375\\377\\360\\003\\377\\377\\377\\377)] def
  452.   /monocurrentwarning [19 14 (\\377\\377\\377\\340\\003\\377\\357\\375\\377\\357\\075\\377\\357\\076\\377\\356\\336\\377\\356\\337\\177\\355\\357\\177\\355\\356\\377\\353\\366\\377\\350\\005\\377\\357\\375\\377\\340\\003\\377\\377\\377\\377)] def
  453.   /monodbox-error [30 30 (\\377\\377\\377\\377\\377\\340\\077\\377\\377\\000\\007\\377\\376\\037\\303\\377\\370\\177\\360\\377\\361\\377\\374\\177\\360\\377\\376\\177\\344\\177\\377\\077\\306\\077\\377\\037\\317\\037\\377\\237\\317\\217\\377\\237\\237\\307\\377\\317\\237\\343\\377\\317\\237\\361\\377\\317\\237\\370\\377\\317\\237\\374\\177\\317\\237\\376\\077\\317\\237\\377\\037\\317\\317\\377\\217\\237\\317\\377\\307\\237\\307\\377\\343\\037\\347\\377\\361\\077\\363\\377\\370\\177\\361\\377\\370\\177\\370\\177\\360\\377\\376\\037\\303\\377\\377\\000\\007\\377\\377\\340\\077\\377\\377\\377\\377\\377\\377\\377\\377\\377)] def
  454.   /monodbox-info [30 30 (\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\177\\377\\377\\370\\077\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\370\\077\\377\\377\\374\\177\\377\\377\\377\\377\\377\\377\\200\\037\\377\\377\\200\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\360\\037\\377\\377\\200\\003\\377\\377\\200\\003\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377)] def
  455.   /monodbox-question [30 30 (\\377\\340\\077\\377\\377\\000\\007\\377\\376\\000\\003\\377\\370\\017\\200\\377\\360\\037\\300\\177\\360\\077\\340\\177\\340\\070\\340\\077\\300\\070\\340\\037\\300\\070\\340\\037\\300\\070\\340\\037\\200\\070\\340\\017\\200\\001\\340\\017\\200\\003\\300\\017\\200\\007\\200\\017\\200\\007\\000\\017\\200\\007\\000\\017\\200\\007\\000\\017\\300\\007\\000\\037\\300\\007\\000\\037\\300\\000\\000\\037\\340\\007\\000\\077\\360\\007\\000\\177\\360\\007\\000\\177\\370\\000\\000\\377\\376\\000\\003\\377\\377\\000\\007\\377\\377\\340\\077\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377)] def
  456.   /monodebugger [26 14 (\\377\\377\\377\\377\\340\\000\\003\\377\\337\\355\\361\\377\\337\\363\\302\\377\\337\\355\\016\\377\\337\\050\\076\\377\\336\\200\\336\\377\\337\\300\\376\\377\\337\\006\\076\\377\\334\\076\\336\\377\\320\\236\\176\\377\\343\\155\\276\\377\\360\\000\\001\\377\\377\\377\\377\\377)] def
  457.   /monodirectories [24 14 (\\377\\377\\377\\377\\377\\377\\376\\037\\377\\375\\340\\077\\375\\377\\337\\340\\000\\337\\357\\377\\137\\357\\377\\137\\367\\377\\237\\367\\377\\237\\373\\377\\337\\374\\000\\037\\377\\377\\377\\377\\377\\377)] def
  458.   /monodirectory [19 14 (\\377\\377\\377\\377\\377\\377\\374\\077\\377\\373\\300\\377\\373\\377\\177\\300\\003\\177\\337\\375\\177\\337\\375\\177\\357\\376\\177\\357\\376\\177\\367\\377\\177\\370\\000\\177\\377\\377\\377\\377\\377\\377)] def
  459.   /monodirtycollection [19 14 (\\377\\377\\377\\374\\007\\377\\375\\173\\377\\376\\355\\377\\374\\200\\377\\374\\010\\377\\375\\276\\377\\375\\332\\377\\374\\020\\377\\374\\000\\377\\374\\372\\377\\375\\136\\377\\375\\000\\377\\377\\377\\377)] def
  460.   /monodirtyfile [19 14 (\\377\\377\\377\\376\\007\\377\\376\\343\\377\\376\\265\\377\\376\\346\\377\\376\\260\\177\\376\\327\\177\\376\\155\\177\\376\\377\\177\\376\\273\\177\\376\\356\\177\\376\\267\\177\\376\\000\\177\\377\\377\\377)] def
  461.   /monodirtylibrary [19 14 (\\377\\377\\377\\374\\017\\377\\374\\147\\377\\375\\073\\377\\374\\215\\377\\375\\114\\377\\374\\346\\377\\374\\162\\377\\375\\050\\377\\375\\234\\377\\374\\316\\377\\375\\244\\377\\374\\000\\377\\377\\377\\377)] def
  462.   /monodirtyobjectfile [19 14 (\\377\\377\\377\\376\\007\\377\\376\\253\\377\\376\\335\\377\\376\\344\\377\\376\\167\\177\\376\\072\\177\\376\\335\\177\\376\\156\\177\\376\\327\\177\\376\\373\\177\\376\\151\\177\\376\\000\\177\\377\\377\\377)] def
  463.   /monodirtyprogram [19 14 (\\377\\377\\377\\302\\007\\377\\376\\363\\377\\342\\265\\377\\376\\356\\377\\305\\140\\377\\375\\376\\377\\344\\326\\377\\375\\376\\377\\313\\171\\377\\371\\355\\377\\373\\275\\377\\370\\001\\377\\377\\377\\377)] def
  464.   /monodirtyproject [19 14 (\\377\\377\\377\\377\\037\\377\\376\\357\\377\\300\\000\\177\\335\\275\\177\\327\\367\\177\\336\\336\\177\\327\\367\\177\\333\\273\\177\\316\\356\\177\\333\\273\\177\\335\\377\\177\\300\\000\\177\\377\\377\\377)] def
  465.   /monodisablebreakpoint [18 16 (\\377\\377\\377\\374\\017\\377\\373\\367\\377\\367\\073\\377\\357\\075\\377\\337\\076\\377\\337\\076\\377\\337\\076\\377\\337\\076\\377\\337\\076\\377\\337\\076\\377\\357\\075\\377\\367\\073\\377\\373\\367\\377\\374\\017\\377\\377\\377\\377)] def
  466.   /monodot [16 16 (\\377\\377\\377\\377\\377\\377\\374\\077\\360\\017\\360\\017\\340\\007\\340\\007\\340\\007\\340\\007\\360\\017\\360\\017\\374\\077\\377\\377\\377\\377\\377\\377)] def
  467.   /monodotsx4 [4 4 (\\177\\377\\377\\377)] def
  468.   /monodotsx8 [8 8 (\\177\\377\\377\\377\\377\\377\\377\\377)] def
  469.   /monoeditor [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\337\\377\\376\\377\\337\\377\\376\\377\\320\\003\\376\\377\\337\\377\\376\\377\\320\\377\\376\\377\\337\\377\\376\\377\\320\\037\\376\\377\\337\\377\\376\\377\\320\\000\\002\\377\\337\\377\\376\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  470.   /monoenablebreakpoint [18 16 (\\377\\377\\377\\374\\017\\377\\373\\367\\377\\367\\373\\377\\357\\375\\377\\337\\376\\377\\337\\376\\377\\320\\002\\377\\320\\002\\377\\337\\376\\377\\337\\376\\377\\357\\375\\377\\367\\373\\377\\373\\367\\377\\374\\017\\377\\377\\377\\377)] def
  471.   /monoerror [19 14 (\\377\\377\\377\\376\\367\\377\\377\\157\\377\\377\\237\\377\\377\\157\\377\\371\\151\\377\\364\\362\\377\\376\\367\\377\\371\\371\\377\\366\\366\\377\\374\\363\\377\\373\\155\\377\\373\\235\\377\\377\\377\\377)] def
  472.   /monofat_lines [8 8 (\\125\\335\\335\\335\\125\\335\\335\\335)] def
  473.   /monofile [19 14 (\\377\\377\\377\\376\\003\\377\\376\\365\\377\\376\\366\\377\\376\\367\\177\\376\\360\\177\\376\\377\\177\\376\\377\\177\\376\\377\\177\\376\\377\\177\\376\\377\\177\\376\\377\\177\\376\\000\\177\\377\\377\\377)] def
  474.   /monoframe [16 14 (\\377\\377\\307\\343\\330\\033\\327\\353\\350\\027\\353\\327\\353\\327\\353\\327\\353\\327\\350\\027\\327\\353\\330\\033\\307\\343\\377\\377)] def
  475.   /monographer [26 13 (\\377\\377\\377\\377\\340\\000\\001\\377\\337\\377\\376\\377\\336\\177\\316\\377\\337\\077\\236\\377\\337\\237\\076\\377\\336\\000\\016\\377\\337\\237\\076\\377\\337\\077\\236\\377\\336\\177\\316\\377\\337\\377\\376\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  476.   /monogray [2 2 (\\177\\277)] def
  477.   /monogray3 [16 16 (\\167\\167\\377\\377\\335\\335\\377\\377\\167\\167\\377\\377\\335\\335\\377\\377\\167\\167\\377\\377\\335\\335\\377\\377\\167\\167\\377\\377\\335\\335\\377\\377)] def
  478.   /monoinfolinkfrom [22 14 (\\377\\377\\377\\300\\000\\017\\337\\377\\357\\334\\016\\157\\336\\356\\157\\337\\157\\357\\336\\254\\157\\335\\116\\157\\332\\356\\157\\325\\376\\157\\333\\374\\057\\337\\377\\357\\300\\000\\017\\377\\377\\377)] def
  479.   /monoinfolinkto [22 14 (\\377\\377\\377\\300\\000\\017\\337\\377\\357\\333\\376\\157\\325\\376\\157\\332\\357\\357\\335\\114\\157\\336\\256\\157\\337\\156\\157\\336\\356\\157\\334\\014\\057\\337\\377\\357\\300\\000\\017\\377\\377\\377)] def
  480.   /monoinfonote [16 14 (\\377\\377\\300\\003\\300\\003\\301\\203\\301\\203\\300\\003\\303\\203\\301\\203\\301\\203\\301\\203\\303\\303\\300\\003\\300\\003\\377\\377)] def
  481.   /monolanguageelement [19 14 (\\377\\377\\377\\377\\217\\377\\376\\163\\377\\376\\373\\377\\375\\375\\377\\375\\375\\377\\375\\375\\377\\375\\375\\377\\375\\375\\377\\375\\375\\377\\376\\373\\377\\376\\163\\377\\377\\217\\377\\377\\377\\377)] def
  482.   /monolibrary [19 14 (\\377\\377\\377\\374\\017\\377\\374\\167\\377\\375\\073\\377\\375\\235\\377\\375\\316\\377\\374\\346\\377\\374\\162\\377\\375\\070\\377\\375\\234\\377\\375\\316\\377\\375\\346\\377\\374\\000\\377\\377\\377\\377)] def
  483.   /monolibrary2 [15 15 (\\377\\377\\300\\177\\337\\277\\337\\337\\337\\357\\337\\367\\300\\007\\337\\367\\337\\367\\337\\367\\300\\007\\337\\367\\337\\367\\300\\007\\377\\377)] def
  484.   /monolight_gray [10 12 (\\125\\177\\377\\377\\125\\177\\377\\377\\125\\177\\377\\377\\125\\177\\377\\377\\125\\177\\377\\377\\125\\177\\377\\377)] def
  485.   /monolink1 [26 14 (\\377\\377\\377\\377\\300\\000\\000\\377\\337\\377\\376\\377\\320\\036\\002\\377\\300\\014\\000\\377\\307\\314\\370\\377\\307\\314\\370\\377\\307\\314\\370\\377\\307\\314\\370\\377\\300\\014\\000\\377\\320\\036\\002\\377\\337\\377\\376\\377\\300\\000\\000\\377\\377\\377\\377\\377)] def
  486.   /monolink2 [26 14 (\\377\\377\\377\\377\\300\\000\\000\\377\\300\\377\\376\\377\\317\\036\\002\\377\\337\\014\\000\\377\\330\\314\\370\\377\\376\\314\\370\\377\\376\\314\\370\\377\\330\\314\\370\\377\\337\\014\\000\\377\\317\\036\\002\\377\\300\\377\\376\\377\\300\\000\\000\\377\\377\\377\\377\\377)] def
  487.   /monolink3 [26 14 (\\377\\377\\377\\377\\300\\000\\000\\377\\300\\007\\376\\377\\317\\346\\002\\377\\337\\364\\000\\377\\330\\064\\370\\377\\376\\174\\370\\377\\376\\174\\370\\377\\330\\064\\370\\377\\337\\364\\000\\377\\317\\346\\002\\377\\300\\007\\376\\377\\300\\000\\000\\377\\377\\377\\377\\377)] def
  488.   /monolink4 [26 14 (\\377\\377\\377\\377\\300\\000\\000\\377\\300\\000\\076\\377\\317\\341\\302\\377\\337\\363\\300\\377\\330\\063\\070\\377\\376\\177\\270\\377\\376\\177\\270\\377\\330\\063\\070\\377\\337\\363\\300\\377\\317\\341\\302\\377\\300\\000\\076\\377\\300\\000\\000\\377\\377\\377\\377\\377)] def
  489.   /monolink5 [26 14 (\\377\\377\\377\\377\\300\\000\\000\\377\\300\\000\\000\\377\\317\\341\\374\\377\\337\\363\\376\\377\\330\\063\\006\\377\\376\\377\\337\\377\\376\\377\\337\\377\\330\\063\\006\\377\\337\\363\\376\\377\\317\\341\\374\\377\\300\\000\\000\\377\\300\\000\\000\\377\\377\\377\\377\\377)] def
  490.   /monolinkfrom [16 14 (\\377\\377\\300\\003\\337\\373\\334\\013\\336\\353\\337\\153\\336\\253\\335\\113\\332\\353\\325\\373\\333\\373\\337\\373\\300\\003\\377\\377)] def
  491.   /monolinkto [16 14 (\\377\\377\\300\\003\\300\\003\\304\\003\\316\\003\\307\\023\\303\\263\\301\\363\\300\\363\\301\\363\\303\\363\\300\\003\\300\\003\\377\\377)] def
  492.   /monomakefile [19 14 (\\377\\377\\377\\374\\007\\377\\375\\373\\377\\375\\375\\377\\375\\356\\377\\375\\223\\177\\375\\273\\177\\375\\175\\177\\375\\273\\177\\375\\223\\177\\375\\357\\177\\375\\377\\177\\374\\000\\177\\377\\377\\377)] def
  493.   /monomemory [13 14 (\\377\\377\\370\\377\\347\\077\\357\\277\\337\\337\\300\\037\\337\\337\\337\\337\\300\\037\\337\\337\\357\\277\\347\\077\\370\\377\\377\\377)] def
  494.   /monomodifiedtoplevelform [16 14 (\\377\\377\\377\\377\\340\\017\\376\\377\\355\\157\\373\\277\\361\\027\\335\\177\\365\\157\\375\\177\\354\\167\\377\\337\\366\\377\\377\\377)] def
  495.   /mononote [19 14 (\\377\\377\\377\\377\\377\\377\\371\\377\\377\\372\\177\\377\\373\\237\\377\\373\\347\\377\\373\\371\\377\\373\\371\\377\\373\\347\\377\\373\\237\\377\\372\\177\\377\\371\\377\\377\\377\\377\\377\\377\\377\\377)] def
  496.   /mononote1 [16 14 (\\377\\377\\300\\003\\337\\373\\337\\373\\337\\373\\337\\373\\336\\173\\336\\173\\337\\373\\337\\373\\337\\373\\337\\373\\300\\003\\377\\377)] def
  497.   /mononote2 [16 14 (\\377\\377\\300\\003\\337\\373\\337\\313\\337\\313\\337\\373\\337\\373\\337\\373\\337\\373\\323\\373\\323\\373\\337\\373\\300\\003\\377\\377)] def
  498.   /mononote3 [16 14 (\\377\\377\\300\\003\\337\\373\\337\\313\\337\\313\\337\\373\\336\\173\\336\\173\\337\\373\\323\\373\\323\\373\\337\\373\\300\\003\\377\\377)] def
  499.   /monoobjectfile [19 14 (\\377\\377\\377\\376\\007\\377\\376\\273\\377\\376\\335\\377\\376\\356\\377\\376\\167\\177\\376\\273\\177\\376\\335\\177\\376\\356\\177\\376\\367\\177\\376\\373\\177\\376\\375\\177\\376\\000\\177\\377\\377\\377)] def
  500.   /monoobjectfile1 [19 14 (\\377\\377\\377\\376\\007\\377\\376\\223\\377\\376\\301\\377\\376\\352\\377\\376\\160\\177\\376\\271\\177\\376\\034\\177\\376\\216\\177\\376\\047\\177\\376\\003\\177\\376\\225\\177\\376\\000\\177\\377\\377\\377)] def
  501.   /monoobjectfile2 [14 14 (\\377\\377\\300\\377\\337\\177\\337\\277\\337\\337\\337\\357\\337\\357\\300\\017\\300\\017\\337\\357\\337\\357\\337\\357\\300\\017\\377\\377)] def
  502.   /monoopeninfonote [16 14 (\\377\\377\\300\\003\\337\\373\\336\\173\\336\\173\\337\\373\\334\\173\\336\\173\\336\\173\\336\\173\\300\\003\\337\\373\\300\\003\\377\\377)] def
  503.   /monoopennote1 [16 14 (\\377\\377\\300\\003\\337\\373\\337\\373\\337\\373\\337\\373\\336\\173\\336\\173\\337\\373\\337\\373\\300\\003\\337\\373\\300\\003\\377\\377)] def
  504.   /monoopennote2 [16 14 (\\377\\377\\300\\003\\337\\373\\337\\313\\337\\313\\337\\373\\337\\373\\337\\373\\337\\373\\323\\373\\300\\003\\337\\373\\300\\003\\377\\377)] def
  505.   /monoopennote3 [16 14 (\\377\\377\\300\\003\\337\\373\\337\\313\\337\\313\\337\\373\\336\\173\\336\\173\\337\\373\\323\\373\\300\\003\\337\\373\\300\\003\\377\\377)] def
  506.   /monopendingtool [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\337\\377\\376\\377\\337\\377\\376\\377\\337\\377\\376\\377\\337\\377\\376\\377\\337\\377\\376\\377\\337\\377\\376\\377\\334\\314\\316\\377\\334\\314\\316\\377\\337\\377\\376\\377\\337\\377\\376\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  507.   /monoprogram [19 14 (\\377\\377\\377\\302\\007\\377\\376\\363\\377\\342\\365\\377\\376\\356\\377\\305\\340\\377\\375\\376\\377\\345\\376\\377\\375\\376\\377\\313\\375\\377\\373\\375\\377\\373\\375\\377\\370\\001\\377\\377\\377\\377)] def
  508.   /monoproject [19 14 (\\377\\377\\377\\377\\037\\377\\376\\357\\377\\300\\000\\177\\337\\377\\177\\337\\377\\177\\337\\377\\177\\337\\377\\177\\337\\377\\177\\337\\377\\177\\337\\377\\177\\337\\377\\177\\300\\000\\177\\377\\377\\377)] def
  509.   /monorandom [16 16 (\\377\\276\\357\\357\\376\\377\\177\\377\\357\\337\\376\\376\\377\\367\\373\\277\\277\\367\\377\\376\\367\\277\\377\\366\\376\\377\\357\\377\\177\\273\\375\\377)] def
  510.   /monoshlib_tool [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\337\\377\\376\\377\\334\\301\\316\\377\\333\\326\\366\\377\\333\\333\\166\\377\\333\\315\\166\\377\\333\\326\\166\\377\\333\\333\\166\\377\\333\\335\\166\\377\\334\\300\\116\\377\\337\\377\\376\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  511.   /monoslant [16 16 (\\357\\357\\337\\337\\277\\277\\177\\177\\376\\376\\375\\375\\373\\373\\367\\367\\357\\357\\337\\337\\277\\277\\177\\177\\376\\376\\375\\375\\373\\373\\367\\367)] def
  512.   /monosquare [7 8 (\\376\\202\\174\\174\\174\\174\\174\\202)] def
  513.   /monotoolstat [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\337\\377\\376\\377\\330\\000\\006\\377\\333\\377\\366\\377\\333\\377\\366\\377\\320\\000\\002\\377\\320\\000\\002\\377\\320\\000\\002\\377\\320\\000\\002\\377\\337\\377\\376\\377\\337\\377\\376\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  514.   /monotoplevelform [16 14 (\\377\\377\\377\\377\\340\\017\\376\\377\\375\\177\\373\\277\\361\\037\\375\\177\\375\\177\\375\\177\\374\\177\\377\\377\\377\\377\\377\\377)] def
  515.   /monovisitederror [16 14 (\\377\\377\\373\\337\\375\\277\\376\\177\\375\\277\\345\\247\\323\\313\\372\\137\\346\\147\\333\\333\\363\\317\\355\\267\\356\\167\\377\\377)] def
  516.   /monovisitedwarning [14 14 (\\377\\377\\377\\377\\377\\377\\374\\377\\374\\377\\373\\177\\373\\177\\367\\277\\367\\277\\357\\337\\354\\337\\334\\357\\300\\017\\377\\377)] def
  517.   /monowarning [19 14 (\\377\\377\\377\\377\\377\\377\\377\\237\\377\\377\\237\\377\\377\\157\\377\\377\\157\\377\\376\\367\\377\\376\\367\\377\\375\\373\\377\\375\\373\\377\\373\\375\\377\\370\\001\\377\\377\\377\\377\\377\\377\\377)] def
  518.   /note [19 14 (\\377\\377\\377\\377\\377\\377\\371\\377\\377\\370\\177\\377\\370\\037\\377\\370\\007\\377\\370\\001\\377\\370\\001\\377\\370\\007\\377\\370\\037\\377\\370\\177\\377\\371\\377\\377\\377\\377\\377\\377\\377\\377)] def
  519.   /note1 [16 14 (\\377\\377\\300\\003\\300\\003\\300\\003\\300\\003\\300\\003\\301\\203\\301\\203\\300\\003\\300\\003\\300\\003\\300\\003\\300\\003\\377\\377)] def
  520.   /note2 [16 14 (\\377\\377\\300\\003\\300\\003\\300\\063\\300\\063\\300\\003\\300\\003\\300\\003\\300\\003\\314\\003\\314\\003\\300\\003\\300\\003\\377\\377)] def
  521.   /note3 [16 14 (\\377\\377\\300\\003\\300\\003\\300\\063\\300\\063\\300\\003\\301\\203\\301\\203\\300\\003\\314\\003\\314\\003\\300\\003\\300\\003\\377\\377)] def
  522.   /objectfile [19 14 (\\377\\377\\377\\374\\017\\377\\375\\007\\377\\375\\203\\377\\375\\301\\377\\374\\340\\377\\374\\160\\377\\374\\070\\377\\374\\034\\377\\374\\016\\377\\374\\006\\377\\374\\002\\377\\374\\000\\377\\377\\377\\377)] def
  523.   /objectfile1 [14 14 (\\377\\377\\300\\377\\320\\177\\330\\077\\334\\037\\316\\017\\307\\017\\303\\217\\301\\317\\300\\357\\300\\157\\300\\057\\300\\017\\377\\377)] def
  524.   /objectfile2 [14 14 (\\377\\377\\300\\377\\300\\177\\300\\077\\300\\037\\300\\017\\300\\017\\337\\357\\337\\357\\300\\017\\300\\017\\300\\017\\300\\017\\377\\377)] def
  525.   /openinfonote [16 14 (\\377\\377\\300\\003\\300\\003\\301\\203\\301\\203\\300\\003\\303\\203\\301\\203\\301\\203\\301\\203\\303\\303\\337\\373\\300\\003\\377\\377)] def
  526.   /opennote1 [16 14 (\\377\\377\\300\\003\\300\\003\\300\\003\\300\\003\\300\\003\\301\\203\\301\\203\\300\\003\\300\\003\\300\\003\\337\\373\\300\\003\\377\\377)] def
  527.   /opennote2 [16 14 (\\377\\377\\300\\003\\300\\003\\300\\063\\300\\063\\300\\003\\300\\003\\300\\003\\300\\003\\314\\003\\314\\003\\337\\373\\300\\003\\377\\377)] def
  528.   /opennote3 [16 14 (\\377\\377\\300\\003\\300\\003\\300\\063\\300\\063\\300\\003\\301\\203\\301\\203\\300\\003\\314\\003\\314\\003\\337\\373\\300\\003\\377\\377)] def
  529.   /pendingtool [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\300\\000\\000\\377\\300\\000\\000\\377\\300\\000\\000\\377\\300\\000\\000\\377\\300\\000\\000\\377\\300\\000\\000\\377\\303\\063\\060\\377\\303\\063\\060\\377\\300\\000\\000\\377\\300\\000\\000\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  530.   /program [19 14 (\\377\\377\\377\\342\\017\\377\\376\\013\\377\\362\\011\\377\\376\\020\\377\\344\\037\\377\\374\\000\\377\\344\\000\\377\\374\\000\\377\\370\\001\\377\\370\\001\\377\\370\\001\\377\\370\\001\\377\\377\\377\\377)] def
  531.   /project [19 14 (\\377\\377\\377\\377\\037\\377\\376\\357\\377\\300\\000\\177\\300\\000\\177\\300\\000\\177\\300\\000\\177\\300\\000\\177\\300\\000\\177\\300\\000\\177\\300\\000\\177\\300\\000\\177\\300\\000\\177\\377\\377\\377)] def
  532.   /random [16 16 (\\377\\276\\357\\357\\376\\377\\177\\377\\357\\337\\376\\376\\377\\367\\373\\277\\277\\367\\377\\376\\367\\277\\377\\366\\376\\377\\357\\377\\177\\273\\375\\377)] def
  533.   /shlib_tool [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\300\\000\\000\\377\\306\\174\\060\\377\\310\\122\\010\\377\\310\\111\\010\\377\\310\\145\\010\\377\\310\\123\\010\\377\\310\\111\\010\\377\\310\\105\\010\\377\\306\\177\\060\\377\\300\\000\\000\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  534.   /slant [16 16 (\\357\\357\\337\\337\\277\\277\\177\\177\\376\\376\\375\\375\\373\\373\\367\\367\\357\\357\\337\\337\\277\\277\\177\\177\\376\\376\\375\\375\\373\\373\\367\\367)] def
  535.   /square [7 8 (\\376\\202\\000\\000\\000\\000\\000\\202)] def
  536.   /toolstat [26 14 (\\377\\377\\377\\377\\340\\000\\001\\377\\300\\000\\000\\377\\307\\377\\370\\377\\304\\000\\010\\377\\304\\000\\010\\377\\317\\377\\374\\377\\317\\377\\374\\377\\317\\377\\374\\377\\317\\377\\374\\377\\300\\000\\000\\377\\300\\000\\000\\377\\340\\000\\001\\377\\377\\377\\377\\377)] def
  537.   /toplevelform [16 14 (\\377\\377\\300\\007\\337\\367\\301\\007\\303\\207\\307\\307\\317\\347\\301\\007\\301\\007\\301\\007\\301\\007\\300\\007\\377\\377\\377\\377)] def
  538.   /visitederror [16 14 (\\377\\377\\373\\337\\375\\277\\376\\177\\374\\077\\344\\047\\320\\013\\371\\237\\341\\207\\330\\033\\360\\017\\354\\067\\356\\167\\377\\377)] def
  539.   /visitedwarning [14 14 (\\377\\377\\377\\377\\377\\377\\374\\377\\374\\377\\370\\177\\370\\177\\360\\077\\360\\077\\340\\037\\343\\037\\303\\017\\300\\017\\377\\377)] def
  540.   /warning [19 14 (\\377\\377\\377\\377\\377\\377\\377\\237\\377\\377\\237\\377\\377\\017\\377\\377\\017\\377\\376\\007\\377\\376\\007\\377\\374\\003\\377\\374\\003\\377\\370\\001\\377\\370\\001\\377\\377\\377\\377\\377\\377\\377)] def
  541. end
  542.  
  543. /tm 10.5 72 mul def
  544. /bm 0.5  72 mul def
  545. /lm 0.35 72 mul def
  546. /rm 7.5 72 mul def
  547. /maxht 0 def
  548. /lastht 0 def
  549. /fntht 0 def
  550. /stkct 0 def
  551. /xpos lm def
  552. /ypos tm def
  553. /ColorP systemdict /colorimage known def
  554. /CFtCol /black def
  555. /bcol /none def
  556. /unl false def
  557.  
  558. /B {
  559.   bcol /none ne {
  560.     dup gsave
  561.       xpos ypos moveto
  562.       true charpath pathbbox
  563.       /y2 exch def /x2 exch def /y1 exch def /x1 exch def
  564.       x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto
  565.       bcol C fill
  566.     grestore
  567.   } if
  568. } def
  569.  
  570. /C {
  571.   ColorP {
  572.     dup colors exch known {
  573.       colors exch get
  574.            dup 0 get 255 div
  575.       exch dup 1 get 255 div
  576.       exch     2 get 255 div
  577.       setrgbcolor
  578.     } { pop } ifelse
  579.   } { pop } ifelse
  580. } def
  581.  
  582. /E {
  583.   newpageflag { L showpage } if
  584.   end
  585. } def
  586.  
  587. /F {
  588.   dup facecat exch known {
  589.     facecat exch get dup [ /F 3 -1 roll ]
  590.     0 M 
  591.     exch dup 0 get setfont 1 get /fntht exch def
  592.   } { pop } ifelse
  593. } def
  594.  
  595. /L {
  596.   0 1 stkct 1 sub {
  597.     stkct exch sub -1 roll
  598.     dup 0 get
  599.     dup /F eq {
  600.       exch 1 get
  601.       dup 0 get setfont
  602.       dup 2 get /CFtCol exch def
  603.       dup 3 get /bcol exch def
  604.           4 get /unl exch def
  605.     } if
  606.     dup /S eq {
  607.       exch dup
  608.       /xpos exch 1 get def
  609.       gsave
  610.         2 get B
  611.         unl { U } if
  612.         CFtCol C
  613.         xpos ypos moveto
  614.         show
  615.       grestore
  616.     } if
  617.     dup /P eq {
  618.       exch dup 1 get /xpos exch def
  619.       gsave
  620.     /pix exch 2 get def
  621.     xpos ypos 3 sub translate
  622.     % w h i [ w 0 0 h neg 0 h ] { data } imagemask
  623.     pix 0 get  pix 1 get  false  [ 1.3 0 0 -1.3 0 pix 1 get ]
  624.     pix 2 get
  625.         /maroon3 C
  626.         imagemask
  627.       grestore
  628.     } if
  629.     pop
  630.   } for
  631.   /stkct 0 def
  632. } def
  633.  
  634. /M {
  635.   dup maxht gt { /maxht exch def } { pop } ifelse
  636.   /stkct stkct 1 add def
  637. } def
  638.  
  639. /N {
  640.   stkct 0 eq {
  641.     /ypos ypos lastht sub def
  642.   } {
  643.     /ypos ypos maxht sub def
  644.     /lastht maxht def
  645.   } ifelse
  646.   ypos bm lt {
  647.     showpage
  648.     /ypos tm def
  649.   } if
  650.   L
  651.   /xpos lm def
  652.   /maxht 0 def
  653. } def
  654.  
  655. /P {
  656.   /newpageflag true def
  657.   dup pixcat exch known {
  658.     pixcat exch get
  659.     dup dup
  660.     [ /P xpos 2 add 4 -1 roll ] exch 1 get 1.3 div M
  661.     exch 0 get /xpos xpos 3 -1 roll 1.3 div add 4 add def
  662.   } {
  663.     pop
  664.   } ifelse
  665. } def
  666.  
  667. /S {
  668.   /newpageflag true def
  669.   dup stringwidth pop xpos add
  670.   dup rm gt
  671.   {
  672.     xpos sub exch /s exch def
  673.     /sp rm xpos sub def
  674.     round cvi s length idiv /ct exch def
  675.     s 0 ct getinterval stringwidth pop sp le
  676.     { /os -1 def /ts {gt} def ct ct 1 s length }
  677.     { /os 0 def /ts {le} def  ct ct -1 0 } ifelse
  678.     { exch pop dup s 0 3 -1 roll getinterval stringwidth pop sp ts
  679.       { exit } if } for
  680.     os add /ct exch def s 0 ct getinterval
  681.     dup stringwidth pop exch
  682.     [ /S xpos 4 -1 roll ] fntht M
  683.     exch xpos add /xpos exch def
  684.     [ /S xpos 1 string dup 0 167 put ] fntht M
  685.     N s ct s length ct sub getinterval S
  686.   } {
  687.     exch [ /S xpos 4 -1 roll ] exch fntht M
  688.     /xpos exch def
  689.   } ifelse
  690. } def
  691.  
  692. /U {
  693.   gsave
  694.     xpos ypos moveto
  695.     dup gsave true charpath pathbbox grestore
  696.     pop exch pop ypos moveto ypos lineto 0.5 setlinewidth stroke
  697.   grestore
  698. } def
  699.  
  700. %%EndProlog
  701. %%BeginSetup
  702. /default F
  703. %%EndSetup
  704. %%Page: \"1\" 1
  705. "))
  706.     (save-excursion
  707.       (set-buffer buf)
  708.       (delete-region (point-min) (point-max))
  709.       (if energize-annotate-print-ps-defns
  710.       (insert-file-contents energize-annotate-print-ps-defns)
  711.     (insert def-ps-defns))
  712.       (goto-char (point-max))
  713.       (while evs
  714.     (let ((e (car evs))
  715.           f)
  716.       (if (nth 1 e)
  717.           (progn
  718.         (if f (insert " "))
  719.         (setq f t)
  720.         (insert (concat "/" (prin1-to-string (nth 1 e)) " F"))))
  721.       (if (nth 2 e)
  722.           (progn
  723.         (if f (insert " "))
  724.         (setq f t)
  725.         (insert (concat "/" (nth 2 e) " P"))))
  726.       (if (nth 3 e)
  727.           (progn
  728.         (if f (insert " "))
  729.         (setq f t)
  730.         (insert "N")))
  731.       (if (> (length (nth 4 e)) 0)
  732.           (progn
  733.         (if f (insert " "))
  734.         (setq f t)
  735.         (insert "(" (energize-al-print-ps-string (nth 4 e)) ")S"))))
  736.     (insert "\n")
  737.     (setq evs (cdr evs)))
  738.       (insert "E" "\n"  "%%EndPage: \"1\" 0" "\n" "%%Trailer" "\n")
  739.       (if (and energize-annotate-print-ps-whence
  740.            (funcall energize-annotate-print-ps-whence buf))
  741.       (kill-buffer buf))
  742.       )))
  743.  
  744. (defun energize-al-print-ps-string (s)
  745.   "Generate a PostScript printable version of a string"
  746.   (let ((st 0))
  747.     (while (setq st (string-match "[()\\\\]" s st))
  748.       (setq s (concat (substring s 0 st) "\\" (substring s st)))
  749.       (setq st (+ st 2))))
  750.   s)
  751.  
  752. (defun energize-al-print-lpr-buffer (buff)
  753.   "Print buffer. Return true to delete buffer"
  754.   (save-excursion
  755.     (set-buffer buff)
  756.     (lpr-buffer)
  757.     t))
  758.